﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using Common;

namespace CNCSoft.ErpApps.TMS.longGiaoVu
{
    public partial class frmTaskAdd : Form
    {
        SqlConnection conn = new SqlConnection(GlobalVariable.WSInfo.ConnectionString);
        DataSet ds = new DataSet();

        public frmTaskAdd()
        {
            InitializeComponent();
        }

        private void frmTaskAdd_Load(object sender, EventArgs e)
        {
            LoadData();
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            Validation();

            string userid = searchLookUpEdit_NhanVien.EditValue.ToString();
            DateTime ngaybatdau = Convert.ToDateTime(dateEdit_NgayBatDau.EditValue);
            DateTime ngayketthuc = Convert.ToDateTime(dateEdit_NgayKetThuc.EditValue);
            string nhiemvu = memoEdit_NhiemVu.Text;
            string trangthai = "Not finish";
            AddTask(userid, ngaybatdau, ngayketthuc, nhiemvu, trangthai);
        }

        private void btnBoQua_Click(object sender, EventArgs e)
        {
            searchLookUpEdit_NhanVien.Text = "";
            memoEdit_NhiemVu.Text = "";
            dateEdit_NgayKetThuc.Text = "";
        }

        #region "Coding"
        private void LoadData()
        {
            //Load user to search look up edit
            LoadUser();
            searchLookUpEdit_NhanVien.Properties.DataSource = ds.Tables["TableUser"];
            searchLookUpEdit_NhanVien.Properties.ValueMember = "UserID";
            searchLookUpEdit_NhanVien.Properties.DisplayMember = "FullName";
            //Load ngay bat dau mac dinh la ngay hom nay
            dateEdit_NgayBatDau.EditValue = DateTime.Now;
        }

        private void LoadUser()
        {
            try
            {
                if (ds.Tables["TableUser"] != null)
                    ds.Tables["TableUser"].Clear();
                string sql = @"usp_AllUser";
                SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                da.Fill(ds, "TableUser");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void AddTask(string userid, DateTime ngaybatdau, DateTime ngayketthuc, string nhiemvu, string trangthai)
        {
            try
            {
                string sql = @"usp_InsertTask @userid = @uid, @ngaybatdau = @ngaybt, @ngayketthuc = @ngaykt, @nhiemvu = @nv, @trangthai = @tt";
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("@uid", userid);
                cmd.Parameters.AddWithValue("@ngaybt", ngaybatdau);
                cmd.Parameters.AddWithValue("@ngaykt", ngayketthuc);
                cmd.Parameters.AddWithValue("@nv", nhiemvu);
                cmd.Parameters.AddWithValue("@tt", trangthai);
                int i = 0;
                try
                {
                    conn.Open();
                    i = cmd.ExecuteNonQuery();
                }
                finally
                {
                    if (conn != null)
                        conn.Close();
                }
                if (i > 0)
                {
                    MessageBox.Show("Thêm nhiệm vụ thành công");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void Validation()
        {
            if (searchLookUpEdit_NhanVien.EditValue == null)
            {
                MessageBox.Show("Bạn chưa chọn nhân viên!");
                return;
            }
            if (dateEdit_NgayBatDau.EditValue == null)
            {
                MessageBox.Show("Bạn chưa chọn ngày bắt đầu");
                return;
            }
            if (dateEdit_NgayKetThuc.EditValue == null)
            {
                MessageBox.Show("Bạn chưa chọn ngày kết thúc");
                return;
            }
            if (memoEdit_NhiemVu.Text == "")
            {
                MessageBox.Show("Bạn chưa ghi nhiệm vụ");
                return;
            }
        }
        #endregion
    }
}
